package cn.tedu.api;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * Date：2021年10月
 * Author：程Sir
 * Name： JavaSE-API
 * Content:
 *      泛型的引入
 */
public class Test {
    public static void main(String[] args) {
        method2();
        System.out.println("================");
        method1();
    }

    private static void method2() {

        // 声明了一个放入字符串类型的集合
        Collection<String> collection = new ArrayList<String>();
        collection.add("123");
        collection.add("java");
        collection.add(String.valueOf(100));
//        collection.add(100); //编译报错，泛型指定的类型是String，那么Integer类型是不被接收

        // 获取当前集合的迭代器
        Iterator<String> iterator = collection.iterator();
        // 遍历集合
        while (iterator.hasNext()){ // 问
            // 把迭代出的对象转换为String类型，然后输出长度
            String str = iterator.next();// 取
            System.out.println(str.length());
        }
    }

    private static void method1() {
        Collection collection = new ArrayList();
        collection.add("123");
        collection.add("java");
        collection.add(100); // 等级于存储的是：new Integer(100);

        // 获取当前集合的迭代器
        Iterator iterator = collection.iterator();
        // 遍历集合
        while (iterator.hasNext()){ // 问
            // 把迭代出的对象转换为String类型，然后输出长度
            String str = (String)iterator.next();// 取  可能会报运行时异常：java.lang.ClassCastException [类型转换异常]
            System.out.println(str.length());
        }
    }
}
